package comptadub

import java.text.SimpleDateFormat

class LoyerMensuelJob {

    def membreService
    def compteService

    static triggers = {
        cron name: 'loyer', cronExpression: "0 0 22 2 * ?"
		//cron name: 'loyer', startDelay: 10000, cronExpression: "0 /1 * * * ?"
    }

    def execute() {
        def prixMois = Parametre.findByNom("loyer_par_mois").valeur.toFloat()

        /* Sélection des membres admin et sci */
        def query = {
            type{
                or {
                    eq("code", "admin")
                    eq("code", "sci")
                }
            }
        }
        def criteria = Membre.createCriteria()
        def listMembre = criteria.list(query)

        listMembre.each {
			
            def loyer = new LigneCompte(membre:it, debit:prixMois)
			
			def dateFormat = new SimpleDateFormat("MMMM")
			loyer.objet = "Loyer mensuel"
        	loyer.commentaire = "Saisie automatique pour le mois de " + dateFormat.format(loyer.date)
            
            compteService.definirObjet(loyer)
            membreService.calculerSolde(it.id)
            loyer.save()
        }
    }
}
